Typical computer matching engines rely upon predefined rules in order to determine whether two elements match. These engines further generally rely upon a substantial degree of similarity between elements in order to trigger a match. The elements that are matched need to be formed in a rigid manner so that a parsing engine can easily determine respective components of the element. Such systems, however, are not suited when the input is provided in a less-than structured form, and when rules that go into forming the matches are dynamically changing.